package helper


/*
根据你提供的错误信息，问题出在 MySQL 数据库中存储密码时，helper.MD5(req.Password) 生成的 MD5 哈希值包含了一些 MySQL 无法正确处理的字符。这通常是因为 MySQL 的字符集设置不支持存储某些特殊字符。
问题分析
MySQL 字符集问题：
默认情况下，MySQL 的字符集可能是 latin1，它不支持存储某些特殊字符。
如果你的密码哈希值包含这些特殊字符，MySQL 会报 Incorrect string value 错误。
MD5 哈希值：
MD5 哈希值是一个 128 位的二进制值，通常以 16 字节的字节数组表示。
如果直接将这个字节数组存储到数据库中，可能会导致字符集问题。
解决方法
1. 将 MD5 哈希值转换为十六进制字符串
在存储密码之前，将 MD5 哈希值转换为十六进制字符串。这样可以避免字符集问题。
*/

import (
	"crypto/md5"
	"encoding/hex"
)

func MD5(s string) string {
	h := md5.New()
	h.Write([]byte(s))
	return hex.EncodeToString(h.Sum(nil))
}
